home *** CD-ROM | disk | FTP | other *** search
/ Netware Super Library / Netware Super Library.iso / app_note / an009b / an009b.txt
Text File  |  1991-01-10  |  14KB  |  269 lines

  1. NetWare 386 Speed Rating
  2.  
  3.  Glenn Westin
  4.  Consultant
  5.  Systems Engineering Division
  6.  
  7. Abstract: This AppNote provides an explanation of the NetWare 386 speed
  8. rating test and the system factors involved in attaining a high rating.
  9. These factors include the CPU chip type, the clock speed, and the main
  10. and memory cache architecture.
  11.  
  12. Disclaimer
  13.  
  14. Novell, Inc. makes no representations or warranties with respect to the
  15. contents or use of these Application Notes, or any of the third party
  16. products discussed in the AppNotes. Novell reserves the right to revise
  17. these Application Notes and to make changes in their contents at any
  18. time, without obligation to notify any person or entity of such revisions
  19. or changes. These AppNotes do not constitute an endorsement of the third
  20. party product or products that were tested. The configuration or
  21. configurations tested or described may or may not be the only available
  22. solution. Any test is not a determination of product quality or
  23. correctness, nor does it ensure compliance with any federal, state, or
  24. local requirements. Novell does not warrant products except as stated in
  25. applicable Novell product warranties or license agreements.
  26.  
  27. Copyright { 1990 by Novell, Inc., Provo, Utah. All rights reserved.
  28.  
  29. As a means of promoting NetWare Application Notes, Novell grants you
  30. without charge the right to reproduce, distribute and use copies of the
  31. AppNotes provided you do not receive any payment, commercial benefit or
  32. other consideration for the reproduction or distribution, or change any
  33. copyright notices appearing on or in the document.
  34.  
  35. Introduction
  36.  
  37. NetWare 386 is a high performance network operating system written
  38. specifically for the 80386 microprocessor. The operating system takes
  39. advantage of the 80386's 32-bit architecture, advanced instruction set
  40. and memory management features. NetWare 386 will only run on an 80386 or
  41. 80486 CPU; unlike its less advanced predecessor, NetWare 2.1x, which will
  42. run on an 80286 microprocessor as well as a 386 processor.
  43.  
  44. Speed Rating
  45.  
  46. While initializing, the OS performs a system speed test. The speed rating
  47. produced by this test serves two purposes. First the test informs the
  48. system administrator of the file server's current operating speed. (Some
  49. systems possess an AUTO CPU mode or have selectable CPU speeds that start
  50. in low speed. In low speed, some computers run as slow as 8 or even 6
  51. MHz.) Second, the test provides a way to rank file server performance
  52. with respect to CPU types, clock speeds, memory and cache.
  53.  
  54. On completion of the test a rating is displayed at the server console. A
  55. higher rating indicates a faster system. For example, an 80386SX CPU
  56. running at 16 MHz should get a rating of about 95, while an 80386 CPU
  57. running at 16 MHz should get a rating of about 120 (see Table I). 
  58. Ratings over 600 can be obtained with a properly configured 80486 server.
  59.  
  60. Table I: Microprocessor Chip Ratings
  61.  
  62. What Makes it Tick
  63.  
  64. When reduced to an elementary level, the file server speed test is a
  65. simple loop that runs for approximately 0.16 seconds. The main function
  66. of the test is to count the number of iterations that can be completed
  67. within less than 2/100ths of a second. A larger number of iterations
  68. indicates a faster machine. Because computer instructions are timed in
  69. nanoseconds (there are one billion nanoseconds to a second) any
  70. interference with the loop's operation can greatly alter the final
  71. results.
  72.  
  73. Before the speed test can begin the floppy drive is reset and then shut
  74. down. This is done because with some computers when the floppy drive is
  75. accessed, the system will automatically switch to slow speed, which
  76. allows copy protection schemes to be properly read. Unlike DOS, NetWare
  77. 386 does not reset the speed through the use of a real mode timer.
  78. Therefore, the system would be permanently set in the slow mode which
  79. would have a profoundly negative affect. Once the floppy is shut down,
  80. the speed test loop can begin. At the end of each iteration, the speed
  81. counter is incremented and the system time is checked.
  82.  
  83. The process of checking the time and incrementing the speed counter
  84. requires several instructions and moves from CPU registers to memory.
  85. After three ticks (approximately 0.16 seconds) the loop is exited. The
  86. results are then divided by 1000, stored in memory (for later retrieval
  87. by typing "speed" at the server console) and displayed at the file server
  88. console. The result is divided by 1000 because the number in the counter
  89. is usually in the five to six digit range, which tends to be quite
  90. unwieldy. The use of these CPU instructions, registers and memory
  91. locations allow the routine to test various computers while maintaining a
  92. consistent testing component throughout. (See Fig. 1.)
  93.  
  94. Chip Type
  95.  
  96. Through the use of various CPU instructions, the system's chip type,
  97. clock cycles, memory wait states and cache are exercised. The chip type
  98. is important because of its inherent capabilities for data movement and
  99. the speed in which it can process instructions. The issue of data
  100. movement involves comparison of the SX to the 386 and 486 chips. The SX
  101. is a 32-bit chip, but it performs its data movements to and from memory
  102. in 16-bit chunks, while the 80386 and 80486 chips move their data 32 bits
  103. at a time. Because the SX chip must talk to its memory 16 bits at a time,
  104. it works harder and takes longer to perform the same tasks as the other
  105. 80386 and 486 chips.
  106.  
  107. A main factor is the chip's ability to quickly process instructions,
  108. which involves the chip's architecture. As micro technology has improved,
  109. manufacturers have been able to fit more transistors, and consequently
  110. more functionality, onto microprocessor chips. This is evident in the
  111. chip evolution listed in Table II.
  112.  
  113. Table II: Chip Evolution
  114.  
  115. : Speed test flow chart
  116.  
  117. The Intel 80486 combines four formerly separate components into one chip
  118. : the 80386 architecture, an 8K data cache, a cache controller, and an
  119. 80387DX-compatible math coprocessor. Intel also added Burst Mode
  120. high#speed data transfer and a five#stage pipeline feature, which
  121. processes up to five program instructions at once.
  122.  
  123. The internal data cache of the 486 is far superior to that of the 386's
  124. external cache. When coupled with burst#mode data transfer, 128 bits of
  125. data are transferred into the internal 8K cache from main memory (or an
  126. external cache) with each CPU request. As a result, the 80486 uses fewer
  127. clock cycles to move data than does the 80386.
  128.  
  129. The 486 can receive four 32#bit data blocks in only five to six clock
  130. cycles. The most efficient 80386 chip transfers one 32#bit block every
  131. two cycles. The 486 can handle multiple instructions at different stages
  132. of completion, which further adds to its ability to complete operations
  133. at its maximum rate of one transfer per clock cycle. These features allow
  134. the 486 to leap far beyond the processing capabilities of its ancestors,
  135. a feat that can be benchmarked through the performance speed rating in
  136. NetWare 386.
  137.  
  138. Clock Speed
  139.  
  140. The clock speed of most personal computers is determined by very precise
  141. vibrations of a thin slice of quartz crystal. This crystal may be in a
  142. metal package by itself on the CPU board, or it may be combined with
  143. other circuits into an oscillator module. In either case, the crystal and
  144. oscillator frequency is twice the speed at which the microprocessor
  145. operates. The chip cuts the clock speed in half internally before using
  146. it. In other words, an 80386 that operates at 16 MHz requires a system
  147. clock that operates at 32 MHz.
  148.  
  149. Clock speed is measured in MHz: millions of cycles (or pulses) per
  150. second. Therefore, a computer's clock counts time in nanoseconds or
  151. billionths of a second. The throughput of a computer (how much
  152. information it can actually process) is directly related to its clock
  153. speed. Hence, a higher clock speed, coupled with the superior
  154. architecture found in the 386 and 486 chips, increases the amount of
  155. instructions that may be performed in a given amount of time.
  156.  
  157. Memory
  158.  
  159. One of the primary functions of a microprocessor is the movement of data
  160. to and from memory. The speed at which the system's memory chips operate
  161. can affect the time that these transfers require. By manipulating data
  162. between memory locations and registers (as  the speed rating test does),
  163. the system's memory architecture becomes a factor in determining system
  164. speed.
  165.  
  166. Ideal Memory System
  167.  
  168. The ideal memory system is one in which the rate that memory can supply
  169. information to the processor matches the rate the processor can execute
  170. code. If memory is slower than the processor, the system is said to be
  171. bus bound. If the processor is slower than memory, the system is
  172. processor bound. Making one (processor or memory) faster than the other
  173. will probably cost more, but will not improve performance .
  174.  
  175. Clock Cycles
  176.  
  177. If memory cannot respond fast enough to meet the processor's demand for
  178. data, the processor must wait one or more clock cycles. The processor is
  179. not necessarily inactive during these clock cycles, because it has
  180. separate bus and execution units. While the bus unit is retrieving
  181. information from memory, the execution unit can perform other operations,
  182. such as register manipulation.
  183.  
  184. Each clock cycle that the processor has to wait is called a wait state.
  185. Memory fast enough to respond to the CPU in two clock cycles is said to
  186. operate at zero wait states. (A memory access normally requires a minimum
  187. of two clock cycles, one for the microprocessor to send out an
  188. instruction informing the memory system which bytes it wants to read, and
  189. a second cycle for it to provide the contents of the location.)
  190.  
  191. Each additional wait state increases the memory access by one clock
  192. cycle. Therefore a three cycle memory access would be synonymous with one
  193. wait state (i.e., two cycles equal zero, three cycles equal one wait
  194. state, and so on). Some 80386#based computers may, at times, have to
  195. endure 2 or 3 wait states per memory cycle when accessing system board
  196. memory, and sometimes 16 or more wait states when they read from memory
  197. expansion boards. Wait states are necessary because most PC designs use
  198. Dynamic Random Access Memory (DRAM) chips, which are significantly slower
  199. and less expensive then faster static ram. For this reason, PC designers
  200. also implemented memory cache.
  201.  
  202. Memory Cache
  203.  
  204. There are two forms of cache used to improve system performance: memory
  205. cache and disk cache. Memory cache increases RAM performance, while disk
  206. cache improves disk efficiency.
  207.  
  208. The NetWare speed rating test exercises the memory cache of the file
  209. server. (While disk caching can play an important role in a LAN
  210. environment, it deviates from the main purpose of this appnote, and will
  211. be discussed in detail in future AppNotes.)
  212.  
  213. Memory cache decreases the time required to fetch the next instruction in
  214. the program code. A memory cache architecture combines fast static random
  215. access memory (SRAM) speed with cost effective DRAMs. It provides a small
  216. amount (usually 32K but this figure can be larger) of fast SRAM (the
  217. cache) that is logically located between the processor and main memory
  218. (which is usually simple DRAM).
  219.  
  220. SRAM in the cache usually has an access time of 35 nsec to as low as 15
  221. nsec, compared to the 80 to 120 nsec access times of the DRAM used in
  222. main memory. This increased access speed allows swift CPUs to access data
  223. in the cache at zero wait states.
  224.  
  225. Cache circuitry ensures that the portions of main memory that are most
  226. often used are copied into the cache, making the majority of the memory
  227. accesses to fast memory in the cache, and not to the slower main memory.
  228.  
  229. Whenever the processor attempts to read a memory location in a system
  230. that uses a memory cache, the memory subsystem checks to see if the
  231. contents of that location are stored in cache. If so, the data is
  232. transferred from the cache at fast SRAM speed (referred to as a cache
  233. hit.)  If the data is not in cache, the processor must wait until the
  234. data can be transferred from slower main memory. This is called a cache
  235. miss and, depending on the speed of the main memory DRAM and the speed of
  236. the CPU, may inject  many wait states into the system. During the wait
  237. states, the contents of the location is also copied into cache, where it
  238. can be accessed more quickly the next time it is needed.
  239.  
  240. A cache is made effective by the tendencies of most computer programs to
  241. access the same few memory locations over and over, and to access
  242. neighboring locations of those accessed recently. Once those few
  243. locations have been loaded into cache, most accesses are made from the
  244. cache, not from slower main memory. This increases system performance.
  245. NetWare 386, like other well#developed programs, is designed with these
  246. features, and benefits from this technology.
  247.  
  248. While more cache RAM always helps, it can reach a point of diminishing
  249. returns. Tests prove that a 32K cache will achieve a 96 percent hit rate,
  250. and that doubling or tripling the cache size only improves the hit rate
  251. by one or two percentage points. In most cases the increased cost for the
  252. extra cache memory is not worth such a marginal performance increase.
  253.  
  254. Conclusion
  255.  
  256. There are many interrelated factors that go into making a high#speed file
  257. server. The CPU chip type, the clock speed, and the main and memory cache
  258. architecture are the most vital of these factors. The NetWare 386
  259. Processor Speed test exercises all these components to formulate its
  260. results. The information gleaned from such a test can be of use for
  261. selecting the appropriate system and for evaluating a systems daily
  262. operation. But this information is only one element in the overall
  263. performance or throughput of a file server. There are other major
  264. components that must be examined with the same scrutiny. For example the
  265. disk and communications channels should each be tested because, in either
  266. case, an improper selection can cause even the fastest speed#rated
  267. computers to function with less than optimum performance.
  268.  
  269.